There are numerous examples in networking where clients or service requesters communicate with servers or providers of services or resources over one or more networks. The clients or client stations typically request a resource or that a service be performed and the servers perform the service or provide the resource. Often a set of servers may be deployed in order to provide greater servicing capability, resiliency or high availability (e.g., in the event of a server failing or being taken off line), etc. As an example, a server farm may be used to provide services associated with web sites such as, e.g., e-commerce sites, search engine applications, Internet Relay Chat networks, high-bandwidth File Transfer Protocol sites, Network News Transfer Protocol (NNTP) servers, Domain Name System (DNS) servers, to name just a few examples.
Without limitation, server load balancing is briefly described herein as an example of packet distribution in a network. Server load balancing techniques may be used to distribute service requests from the clients among a set of servers in order to balance or more evenly distribute loads (e.g., processing loads or workloads) associated with handling the service requests among the set of servers. Server load balancing, within certain constraints, generally helps to prevent some of the servers from being over-loaded while other servers are being underutilized. Such server load balancing generally offers advantages such as increased resource utilization, increased performance, increased throughput, reduced response time, reduced server overload, etc. In addition, server load balancing may also be used in conjunction with providing resiliency or high availability by redistributing loads when one of the servers fails, is taken off line, etc.